#ifndef __LEOS_HW_H__
#define __LEOS_HW_H__

#include "leos_def.h"
#include "leos_timer.h"

void le_board_systick_config(unsigned long ticks);

le_int32_t le_hw_interrupt_disable(void);
void le_hw_interrupt_enable(le_int32_t level);

void le_hw_context_switch(le_uint32_t sp_from, le_uint32_t sp_to);
void le_hw_context_switch_to(le_uint32_t sp_to);

le_uint8_t *le_hw_stack_init(void *thread_entry,
                             void *thread_parameter,
                             le_uint8_t *stack_addr,
                             void *thread_exit);
                          
#endif
